package controllers;

import java.util.List;

import models.Operator;
import models.Oplog;
import services.AuthorityService;
import services.BackInfoService;
import services.OplogService;
import utils.BizConstants;
import utils.ExcelUtil;
import utils.FileConfig;
import vos.BackInfoSearchVo;
import vos.BackInfoVo;
import vos.OplogSearchVo;
import vos.ReturnListVo;

/**
 * 操作日志Controller类
 * 
 * @ClassName: OplogController 
 * @author: wangsm
 * @date: 2016年5月27日 下午3:23:02
 */
public class OplogController extends BaseController {
	/**
	 * 操作日期页面
	 *
	 * @Title: oplog 
	 * @return: void
	 */
	public static void oplog(String menuid){
		Operator oper=getLoginUser();
		List<String> auths=AuthorityService.getAuthorityByOperAndMenu(menuid,oper.operatorid);
		for(String auth : auths){
			renderArgs.put(auth, auth);
		}
		render();
	}
	/**
	 * 获取操作日志
	 *
	 * @Title: getOplog 
	 * @param page
	 * @param rows
	 * @param sort
	 * @param order
	 * @param begintime 操作时间
	 * @param endtime
	 * @param menuname 菜单名称
	 * @param operatorid 操作人id
	 * @return: void
	 */
	public static void getOplog(int page,int rows, String sort,String order,
			String begintime,String endtime,String menuname,String operatorid){
		if(page==0){
			page=1;
		}
		if(rows==0){
			rows=BizConstants.pagesize;
		}
		OplogSearchVo vo=new OplogSearchVo(page,rows,sort,order,menuname,operatorid,begintime,endtime);
		long total=OplogService.countOplog(vo);
		ReturnListVo listVo=new ReturnListVo();
		listVo.setTotal(total);
		List<Oplog> lists=OplogService.listOplog(vo);
		listVo.setRows(lists);
		renderJSON(listVo);
	}
	/**
	 * 导出excel
	 *
	 * @Title: exportXls 
	 * @param begintime 开始时间
	 * @param endtime 结束时间
	 * @param menuname 菜单名称
	 * @param operatorid 操作员id
	 * @return: void
	 */
	public static void exportXls(String begintime,String endtime,String menuname,String operatorid){
		OplogSearchVo vo=new OplogSearchVo(menuname,operatorid,begintime,endtime);
		List<Oplog> lists=OplogService.exportXls(vo);
		long y=System.currentTimeMillis();
		String fileName = "操作信息"+y+".csv";
        response.contentType = "application/x-download";
        renderBinary(ExcelUtil.buildExportFile(FileConfig.oplogXlsTemplate, lists), fileName);
	}
}
